1. Field of the Invention
The present invention relates to a method and apparatus for controlling transmission of data to destinations in a computer network, for example a local or wide area network or a network of networks such as the Internet, via router means that provides alternative routes to such destinations.
The apparatus of the invention generally comprises a computer operating as a network server or a network gateway and should be connected to one or more networks, having two or more routers acting as a gateway to connect this computer to other networks.
The computer has, loaded into its memory, an operating system which is associated with the data transmission protocol TCP/IP (Transmission Control Protocol/Internet Protocol). TCP is a transport layer protocol which provides a connection oriented, reliable, byte stream service. Another transport layer protocol is the UDP (User Datagram Protocol) which does not provide a reliable service and is usually incorporated in the TCP/IP protocol suite. IP is a network layer protocol, which together with TCP or UDP ensures the proper transmission of data over a TCP/IP network.
The operating system may be a Unix-like system such as xe2x80x9cBSDxe2x80x9d, e.g. version 4.4 of BSD, which is a well known operating system specifically designed for network applications by Berkeley University and presently commercially available from Berkeley Systems Development.
2. Related Prior Art
U.S. Pat. No. 5,941,955 to Wilby and Quintela discloses a distributed data structure formed by a hierarchical network of routers forming a series of end nodes each linkable one to another via a number of intermediate or xe2x80x9cparentxe2x80x9d nodes. The possibility of each end node being linked to two alternative parent nodes is illustrated in association with the possibility of the link between one end node and one of its parents (the default parent node to which data is normally sent) becoming broken. If such a break occurs, this is sensed by the end node which then transmits data to the other parent node.
Wilby and Quintela disclose one scheme for arranging how the transfer of data occurs. In fact, one basic tenet of the Internet is that it should be able to recover from failure of one part of it and that when necessary two Internet locations should be able to link up via alternative routes. This aspect of internetworking is handled by the various transmission protocols in association with the routers and the operating system of the gateway or server.
This invention has for one of its objects the provision of an improved method and apparatus for network transmission control at the protocol/operating system level.
According to the invention, there is provided a data transmission control method, and computer apparatus using such method, for a network comprising router means for enabling the computer to transmit data to another location in the network via alternative routes. In the method and apparatus information indicative of the alternative routes is accessed so as to identify a first of said routes. Then the data is passed to the router means with the router means controlled so that the data to be transmitted to the said another location goes via the first route assuming that this route is not broken. In the event of such route failure, the stored information is accessed to identify a second of said alternative routes and the computer directs the data to the router means for the data to be transmitted to the said another location via the second route.
Advantageously, whilst failure of said transmission via the first route is sensed, said data is retransmitted a pre-set plurality of times before the second route is identified.
The router means may comprise a plurality of routers to which said computer is connected and said route indicative information comprises the network addresses of respective ones of the routers.
Preferably, the method includes storing information indicative of the failure of any of said alternative routes and, before directing data to the router means, accessing said stored information to identify said routes in turn until one is identified that is not indicated as having failed.
The computer may be under the control of a program including an operating system and an associated data transmission protocol, data identifying a pre-set list of default routes, and a plurality of program sub-routines including sub-routines for splitting said data into packets including destination and routing headers, transmitting said data packets and retransmitting them a pre-set number of times if the transmission is not successful, and for causing said routing headers to identify a further one of said default routes if the existing one has failed.